home *** CD-ROM | disk | FTP | other *** search
/ Amiga Collections: Memphis Amiga Group / MAG Disk (1991-03)(Memphis Amiga Group).zip / MAG Disk (1991-03)(Memphis Amiga Group).adf / Zoom / Zoom.doc < prev    next >
Text File  |  1989-12-29  |  30KB  |  592 lines

  1. ========================= Zoom/ZoomCheck 4.1 =========================
  2. ======================================================================
  3. A  floppy disk tracking and archiving utility, written by Olaf `Olsen'
  4. Barthel   of   MXM.    ©   Copyright   1990,1991   by   MXM,  Lh  data
  5. compression/decompression  code  ©  Copyright  1990,1991  by Holger P.
  6. Krekel  & Olaf Barthel.  Shareware, all rights reserved.  No guarantee
  7. of any kind is made that the program(s) described in this document are
  8. 100% reliable.  You use this material on your own risk.
  9.  
  10. ============== A word on trojan horses and link viruses ==============
  11. ======================================================================
  12. I  didn't  want  to  create  a 4.0 version yet, but circumstances have
  13. forced  me  to  bump  the current release to this version number.  You
  14. might  have  heard  the  story  of  `Zoom!'  being a new link virus in
  15. disguise.   As  far  as authorized copies of the previous releases are
  16. concerned this is and was NOT the case!
  17.    When  I  heard  that `Zoom!' was accused of being a kind of `Trojan
  18. Horse'  I checked all support files and checksums and did NOT find any
  19. evidence!    So   this   either  was  supposed  to  be  a  joke  or  a
  20. misunderstanding.   I  was  quite  surprised  to  hear that especially
  21. `Zoom!'  was  infected  since  it  is the first program to include CRC
  22. program checksums and an anti-link-virus selftest.
  23.  
  24. ======================= READ THIS OR MISS OUT ========================
  25. ======================================================================
  26. On  startup  both  `Zoom'  and `ZoomCheck' will examine their internal
  27. hunk structures: if anything is not in its correct place both programs
  28. will  put up alerts.  To discover what was wrong enter `Zoom SELFTEST'
  29. or `ZoomCheck SELFTEST'.
  30.    If possible both programs will read their executables from disk and
  31. calculate  a checksum (Note:  `Zoom!' will try to read the file `Zoom'
  32. from the current directory, `ZoomCheck' will try to read `ZoomCheck').
  33. If  this  `WRAP'  checksum  is  nonzero  the  approriate file has been
  34. modified (which can but need not indicate virus infection)!
  35.    Enter  `CRC  Zoom'  and  `CRC  ZoomCheck' to calculate the external
  36. checksums  and  compare  them with the samples given in this document.
  37. Any differences indicate possible virus infection!  If you don't trust
  38. the  sample  checksums  listed  in  this document, send me a letter or
  39. electronic  mail  (adresses  listed  below)  and  ask for the `factory
  40. checksums'.
  41.  
  42.    THIS AND THE FOLLOWING ZOOM! RELEASES MAY ONLY BE DISTRIBUTED IN
  43.                  THE SELF-EXTRACTING ARCHIVE FORM!!!
  44.  
  45. ========= What if my copy of `Zoom' appears to be infected? ==========
  46. ======================================================================
  47. Do  not hesitate to send me a letter or electronic mail containing the
  48. following information:
  49.  
  50.     1) Where did you get the copy from?
  51.     2) Which files have been infected/modified?
  52.     3) What do you guess: have the files been modified by a virus
  53.        (which virus)?
  54.  
  55.    As  a  programmer I am about to lose my reputation - and I will not
  56. hesitate  to report the luckless fool who infected the `Zoom!' release
  57. in question and spread it.
  58.  
  59. ============================== Contents ==============================
  60. ======================================================================
  61. This  package  consists of six files.  The CRC checksums were obtained
  62. using  the  `CRC'  utility  (also included in this package).  Provided
  63. that  all checksums match the following samples (and this document has
  64. not been modified) no file is virus-infected.
  65.  
  66.                     Release Date: 09-Jan-91, 14:50
  67.  
  68.          Zoom           (CRC = $2E79D5C3, Size = 55200 Bytes)
  69.          Zoom.info
  70.          ZoomCheck      (CRC = $2538C75C, Size = 18164 Bytes)
  71.          ZoomCheck.info
  72.          CRC            (CRC = $4F5177B9, Size =  4104 Bytes)
  73.  
  74.          Zoom.doc       (Size = 30073 Bytes)
  75.  
  76.    The  new  `CRC' utility will also calculate and print the so-called
  77. `WRAP'  checksum.   For  all  programs in this distribution (including
  78. `Zoom', `ZoomCheck' and `CRC') this checksum MUST be zero (if nonzero,
  79. the approriate file has been modified).
  80.    All  programs  in this distribution are PURE, I suggest setting the
  81. `p' bit if not already done.
  82.  
  83. ===== Why use Zoom! instead of other disk compression utilities? =====
  84. ======================================================================
  85.    - Zoom!   performs much faster and compresses better than any other
  86.      currently available disk archiving utility.
  87.  
  88.    - Zoom!  recognizes about 66 different viruses.
  89.  
  90.    - Zoom!  has both an Intuition and a Shell interface.
  91.  
  92.    - Zoom!  can be customized for your own needs.
  93.  
  94.    - Zoom!  works with Kickstart 2.x!
  95.  
  96.    - Zoom!   will  also  work  on  Amiga  computers  equipped  with an
  97.      MC68020/30 microprocessor.  No need to buy an extra version!
  98.  
  99. ============================== Purpose ===============================
  100. ======================================================================
  101. Disk archiving utilities are becoming increasingly attractive.  Almost
  102. all  other disk compression tools lack a friendly user interface, take
  103. ages to finish their work or simply produce very long output files.
  104.    Zoom!   is  the successor to CompDisk and owes much to the original
  105. tool's design.  Nevertheless, Zoom!  performs faster, produces `safer'
  106. and much smaller output files.
  107.    Zoom!   uses  highly-efficient  data encoding routines derived from
  108. LhArc  (adaptive  Huffman  squeezing)  which  have been converted into
  109. MC680x0  code  (we  call  it `Lh').  Data compression/decompression is
  110. always  much  faster  than displayed by programs such as Warp, LhWarp,
  111. LhArc and LZ.
  112.    To reduce the chance of encoding a virus-infected disk, Zoom!  will
  113. examine  the  bootblock  and  display it if it is of nonstandard type.
  114. The following 66 different bootblock viruses are recognized:
  115.  
  116.          16 Bit Crew      AEK (MicroMaster)           AIDS
  117.         Alien New Beat        Amigafreak      Australian Parasite
  118.            BamigaS1          Black Flash            Butonics
  119.      Byte Bandit (1 & 2) Byte Warrior (1 & 2)     CCCP (1 & 2)
  120.       ClaasAbraham (MCA)     CList Virus             Coder
  121.              DAG              Destructor       DiskDoctor (1 - 3)
  122.        Digital Emotion      Diskguard V1.0          F.A.S.T.
  123.            F.I.C.A.             Forpib              Gadaffi
  124.            Graffiti            Gremlins             GX Team
  125.              ICE              Incognito               JITR
  126.         Joshua (1 & 2)    Julie (Tick Virus)         Kauki
  127.          LAMER (1 - 3)           LSD               Megamaster
  128.          Microsytems         Morbid Angel           Obelisk
  129.             OPAPA           Phantastograph            Rene
  130.            REVENGE         REV. Boot Loader       SCA (1 & 2)
  131.            Scarface           Selfwriter           Sendarian
  132.       Sinister Syndicate     Supply Team           Switch OFF
  133.             Target            Termigator         The INCOGNITO
  134.            TIMEBOMB              TURK           U.K. Lamerstyle
  135.            Ultrafox            Warhawk
  136.  
  137.    Ralf  Thanner,  author of the `Berserker' virus killer, donated the
  138. bootblock scanner and rewrote the 16-bit CRC routines, thanks a lot!
  139.  
  140. ============================ Installation ============================
  141. ======================================================================
  142. Copy `arp.library' to your LIBS:  directory, both Zoom!  and ZoomCheck
  143. require  it.   ENV:   (default AmigaDOS environment storage directory)
  144. should be assigned to somewhere, but needn't.
  145.  
  146. ========================= Zoom! Shell usage ==========================
  147. ======================================================================
  148. The following command line template is displayed if you type `Zoom ?':
  149.  
  150.  From,To,Check/K,T=Text/K,S=Start/K,E=End/K,C=Crypt/K,D=ClearData/S,
  151.            B=ClearBlocks/S,V=Verify/S,Q=Quiet/S,Selftest/S
  152.  
  153. From .......... Name  of  the file to be read and written back to disk
  154.                 (`decode')  or  the  name of the filing device to read
  155.                 the data from to be encoded.
  156.  
  157.                 Examples: `Zoom from df0: to ram:doodle'
  158.                           `Zoom from ram:doodle to df0:'
  159.  
  160. To ............ Name of the device to store the decoded data on or the
  161.                 name of the file to send the encoded data to.
  162.  
  163. Check ......... This  is  a  tiny  implementation  of a file integrity
  164.                 testing  tool  (such as  `ZoomCheck').  A file created
  165.                 by  Zoom!  will be read and tested.  If  a checksum is
  166.                 not  in  its  correct  place  an error message will be
  167.                 displayed.
  168.  
  169.                 Example: `Zoom check ram:doodle'
  170.  
  171. Text .......... Zoom!  can attach a text file to an archive file which
  172.                 will be displayed while/before data decoding. It  will
  173.                 be read and encoded before the  actual  disk  encoding
  174.                 takes place.
  175.  
  176. Start ......... The  track number to start encoding at.  This argument
  177.                 is  optional  and  does  not  need  to be entered.  By
  178.                 default the starting track is zero (= 0).
  179.  
  180.                 Example: `Zoom df0: to ram:dodo start 17 end 22'
  181.  
  182. End ........... The number of the last track to encode.  Note that you
  183.                 cannot  ask  for  a starting track and omit the ending
  184.                 track  (and the other way round).  Both arguments must
  185.                 be used.
  186.  
  187. Crypt ......... Files  created  by  Zoom!   may  be  encrypted  with a
  188.                 special  password.   The  same  password (Note:  it is
  189.                 case  sensitive) will be required to decode the output
  190.                 file.
  191.  
  192.                 Example: `Zoom df0: to ram:doodle crypt Secret'
  193.  
  194. Cleardata ..... This  switch  may  reduce  the size of the output file
  195.                 produced by encoding.  Under the `old' filing system a
  196.                 data  block  contains  the  number  of bytes which are
  197.                 actually occupied by data.  The rest of the data block
  198.                 usually  contains  random  data.   If  this  switch is
  199.                 active  the  unused  portion of the data block will be
  200.                 set  to  zero.  Note:  due to the different data block
  201.                 format  this  switch  has  no effect if used on a disk
  202.                 formatted by the fast filing system.
  203.  
  204. Clearblocks ... Not  all  blocks of a disk may be actually occupied by
  205.                 data.   Zoom!  uses the disk Bitmap to determine which
  206.                 blocks  to  read and to encode.  By default the Bitmap
  207.                 is  ignored.   This  switch  will cause Zoom!  to skip
  208.                 unused  blocks.   Note:  this feature will be disabled
  209.                 if the disk to be encoded is not a valid AmigaDOS disk
  210.                 with  a  properly  initialized  root/boot  block and a
  211.                 valid  Bitmap  flag.  Also important:  this switch has
  212.                 no  effect if a set of tracks is to be encoded instead
  213.                 of the default 0..79.
  214.  
  215. Verify ........ Each  write  access  to  disk will be verified if this
  216.                 switch  is  active.  The actual data verification will
  217.                 be  handled  by the blitter, so it won't slow down the
  218.                 decoding process too much.
  219.  
  220. Selftest ...... This  shell  option was added to help you to verify if
  221.                 your  Zoom!   program  has  been  infected by a virus.
  222.                 Zoom!   will  examine  its internal hunk structure and
  223.                 complain  if  a  hunk  is  not in its standard size or
  224.                 place.   These  are conditions which can, but need not
  225.                 indicate  link  virus infection.  While this technique
  226.                 does  not  entirely  prevent  the  creation  of trojan
  227.                 horse-versions of Zoom!  or that an extremely `clever'
  228.                 virus infects Zoom!, it will probably catch all `dumb'
  229.                 link  viruses  which  put their virus code in front of
  230.                 the first hunk or behind the last hunk of a program.
  231.  
  232. ======================= Zoom! Workbench usage ========================
  233. ======================================================================
  234. If  called  from  Workbench  (or  from  Shell without any arguments) a
  235. window  will  pop  up under the mouse pointer containing the following
  236. gadgets:
  237.  
  238. Select file ........... Select   the   name   of   the   file   to  be
  239.                         encoded/decoded.   It  will  be  put  into the
  240.                         string gadget to the left of this button.
  241.  
  242. Select drive .......... Select the the drive to write/read the data to
  243.                         be  decoded/encoded to/from.  This button will
  244.                         cycle  through  all  filing  systems which are
  245.                         exactly  80  tracks  in size.  The name of the
  246.                         filing  system  will  be  put  into the string
  247.                         gadget to the left of this button.
  248.  
  249. Start data Encoding ... Click  this  button  to  start  data encoding,
  250.                         click it again to stop the process.
  251.  
  252. Start data Decoding ... Click  this  button  to  start  data decoding,
  253.                         click it again to stop the process.
  254.  
  255. From track to track ... The starting and ending tracks to encode, note
  256.                         that   this   feature   has   to  be  selected
  257.                         explicitely.
  258.  
  259. Clear unused data ..... Unused  data  in  standard  file system blocks
  260.                         will  be  set  to  zero  if  this  feature  is
  261.                         enabled.
  262.  
  263. Clear unused blocks ... Unused  blocks  will be skipped if this switch
  264.                         is  in effect.  Note:  cannot  be  mixed  with
  265.                         `from track to track'.
  266.  
  267. Verify write .......... Enables  write  verification  while data files
  268.                         are   decoded.  This   switch  has  no  effect
  269.                         during data encoding.
  270.  
  271.    The  display  on  the right hand side of the Zoom!  window contains
  272. the following elements:
  273.  
  274. Disk .................. The space left on the destination drive.
  275.  
  276. Mem ................... System memory currently available.
  277.  
  278. Size .................. Size  of  the  last  encoded/decoded track(s).
  279.                         Usually  two  values  will  appear  here:  the
  280.                         first one denotes the size of the buffer after
  281.                         pre-compression,  the  second  value indicates
  282.                         the final size after Lh-compression.
  283.  
  284. File .................. The size of the encoded data file.
  285.  
  286. Time .................. Time elapsed during data encoding/decoding.
  287.  
  288. Track ................. Current track counter (read / to go).
  289.  
  290. Status ................ The action currently executed.
  291.  
  292.    If  an  output  file does not fit on the destination disk, encoding
  293. wil  be  terminated.   The starting and ending tracks will be adjusted
  294. accordingly to allow the user to continue to encode the disk where the
  295. first encoding run stopped.
  296.    The  `name' of the file to be decoded may be a wildcard expression.
  297. Zoom!  will try to locate and decode all files which match the pattern
  298. (note:  only the Intuition interface supports this feature).
  299.    Multiple  selection is supported as well:  to decode a row of Zoom!
  300. output  files,  hold  down the shift-key, click the icons of files you
  301. wish to decode, then double-click the Zoom!  icon.  Note:  Zoom!  will
  302. use  the  default  options to decode the files, the online options can
  303. only be changed after all files have been processed!
  304.  
  305. ================ The `ZOOMOPTS' environment variable =================
  306. ======================================================================
  307. The current settings displayed in the Intuition interface are saved in
  308. a  default  environment  variable  which  is read again when Zoom!  is
  309. called  again.  This variable is set both in Manx/ARP and in Workbench
  310. 1.3 format.  The following template is supported:
  311.  
  312.    File/K,Drive/K,S=Start/K,E=End/K,D=ClearData/S,B=ClearBlocks/S,
  313.                         V=Verify/S,N=NoIcons/S
  314.  
  315. File .......... The  default  string  to  appear  in  the  `File name'
  316.                 gadget.
  317.  
  318. Drive ......... The string to appear in the `Drive' gadget.
  319.  
  320. Start ......... The first track to start data encoding with.
  321.  
  322. End ........... The last track to encode.
  323.  
  324. ClearData ..... Whether unused block data is to be zeroed or not.
  325.  
  326. ClearBlocks ... Whether unused blocks are to be skipped or not.
  327.  
  328. Verify ........ Whether write verification is enabled or not.
  329.  
  330. NoIcons ....... Set this flag if you don't want Zoom!  to create icons
  331.                 for each output file.
  332.  
  333.                     A sample `ZOOMOPTS' value is:
  334.         `FILE RAM:Blank.zom DRIVE DF0: CLEARDATA CLEARBLOCKS'
  335.  
  336.    Zoom!   will  prefer  to set/examine the the `ZOOMOPTS' environment
  337. variable  in the AmigaDOS 1.3 standard.  If this is not possible Zoom!
  338. will set/examine the Manx/ARP standard environment variable instead.
  339.  
  340. ============================= ZoomCheck ==============================
  341. ======================================================================
  342. Zoom!   comes  with  an  auxilary program:  ZoomCheck.  ZoomCheck will
  343. examine  the  entire structure of file created by Zoom!  and report if
  344. the  checksums  are in the correct places.
  345.    Notes  and  texts are also displayed while checking (add `QUIET' to
  346. the command line to suppress this feature).
  347.    Notes  are  added  to a Zoom!  file with the `NOTE' option (such as
  348. `ZoomCheck  File.zom NOTE Hello!') or with the `NOTEFROM' option (such
  349. as  `ZoomCheck  File.zom  NOTEFROM ENV:MyTag').  Time and date will be
  350. saved with the note (the note itself will be encrypted).
  351.    Zoom and ZoomCheck use 16-bit CRC routines which catch about 99% of
  352. possible  random  changes (I didn't see the need to use 32-bit CRCs to
  353. catch another half percent!).
  354.  
  355. ===================== ZoomCheck Workbench usage ======================
  356. ======================================================================
  357. A  standard  file  requester will be opened to let you select the file
  358. you  want  to  be checked.  A different requester will tell you if the
  359. file structure was entirely correct.
  360.    While  the file is examined, notes and the text attached to it will
  361. be displayed.
  362.    Multiple  selection is supported as well:  hold down the shift key,
  363. click  the icons of the files you want to check, then double-click the
  364. ZoomCheck-icon.
  365.  
  366. ======================= ZoomCheck Shell usage ========================
  367. ======================================================================
  368.      The following command line template is diplayed if you type
  369.                             `ZoomCheck ?':
  370.  
  371.             File,N=Note/K,F=NoteFrom/K,Quiet/S,Selftest/S
  372.  
  373. File .......... The  name  of the file to be tested.  The text and the
  374.                 notes  attached  to the file will be displayed  unless
  375.                 the `quiet' option is used.
  376.  
  377. Note .......... A  note  to  attach  to  the archive file.  Notes  are
  378.                 saved with their creation date and are encrypted.
  379.  
  380.                 Example: `ZoomCheck Foo Note Bar'
  381.  
  382. NoteFrom ...... Similar  to the `Note' keyword this argument will make
  383.                 ZoomCheck  attach  a  note  to a given file.  The only
  384.                 Difference  is  that the note will be read from a file
  385.                 (CAREFUL:    the   note   cannot  be  longer  than  79
  386.                 characters, longer strings will be truncated!).
  387.  
  388.                 Example: `ZoomCheck Foo NoteFrom ENV:Bar'
  389.  
  390. Quiet ......... By  default text and notes associated with an  archive
  391.                 file   are  displayed  before  the  file  is  actually
  392.                 checked.   This  feature  can  be  disabled  with  the
  393.                 `quiet' switch.
  394.  
  395. Selftest ...... This  command  has  the  same effect as in  the  Zoom!
  396.                 main program.
  397.  
  398. ========================== Technical notes ===========================
  399. ======================================================================
  400. Zoom!  needs a tiny little bit of memory to perform its jobs:
  401.  
  402.                   Data Encoding ......... 240 KByte
  403.                   Data Decoding ......... 240 KByte
  404.  
  405.    Make  sure that enough space is available, or Zoom!  will complain.
  406. Note  that  disabling  write verification will save about 10 KBytes of
  407. chip memory.
  408.    The  Lh  data  encoding/decoding  routines are related to LhArc and
  409. PKZip.   Unlike common data compression/decompression routines such as
  410. employed  by  PowerPacker or Imploder, the performance of Lh cannot be
  411. downgraded  by  adjusting  the data sequence search depth.  This means
  412. that Lh will always encode trying to achieve the best results with the
  413. maximum effort.
  414.  
  415. ======================== How fast Zoom! works ========================
  416. ======================================================================
  417. I  suppose  you  are shocked by the amount of memory required for data
  418. compression / decompression.  Well, as it turns out I traded speed for
  419. memory.   I  tested  Zoom!  (encoding a disk) against DMS 1.02, LhWarp
  420. 1.4 and Warp 1.2a with the following results:
  421.  
  422.                             Workbench1.3D:
  423.  
  424.                 Tool   | Output file  | Time
  425.                 -------+--------------+--------------
  426.                 Warp   | 508226 bytes | 11:49 minutes
  427.                 LhWarp | 399187 bytes | 16:39 minutes
  428.                 DMS    | 389270 bytes | 11:00 minutes
  429.                 Zoom!  | 371432 bytes |  6:15 minutes
  430.  
  431.    There you are:  Zoom!  really IS faster and more efficient than any
  432. currently  available  disk  compression  /  decompression  program.  I
  433. wouldn't  call  Zoom!   `lightning fast' (Jon Forbes has a license for
  434. that ;-), but I am sure that it will show a `few' tools home!
  435.  
  436. =========================== Known problems ===========================
  437. ======================================================================
  438. Some  features  supported  by  CompDisk/DecompDisk are not included in
  439. Zoom!   and  ZoomCheck  yet  and probably never will (which depends on
  440. your support).  Currently known bugs and problems are:
  441.  
  442. - Sector  labels  are not saved yet.  Very few applications apparently
  443.   use  them (FFS is rumored to do so, but I couldn't find any evidence
  444.   yet).   Supporting  SecLabels would require two write accesses for a
  445.   single track (yet another bug in the pre-2.x trackdisk.device?!?).
  446.  
  447. ============================== Credits ===============================
  448. ======================================================================
  449. Credits  go  to  Arp  Programmers  for  Arp  1.3, to Ralf Thanner, who
  450. contributed   the  assembly  language  CRC  routines  and  the  custom
  451. bootblock  check,  to  Erik Løvendahl Sørensen for the large number of
  452. viruses  he  sent  to  Ralf  and  to  K.  Wiesel  who  contributed the
  453. pre-compression code.
  454.  
  455. ================ Author's request and Share-Ware fee =================
  456. ======================================================================
  457. Zoom!   and  ZoomCheck  are  released  as Share-Ware.  If you like the
  458. programs and use them frequently, please dig into your pocket and send
  459. a  contribution of at least DM 50,- or 35$ US (DM currently preferred)
  460. to:
  461.  
  462.                           Olaf Barthel, MXM
  463.                           Brabeckstrasse 35
  464.                           D-3000 Hannover 71
  465.  
  466.                      Federal Republic of Germany
  467.  
  468.    This program was made available for you convenience, so if you like
  469. and  use it, don't just think `well, what the h*ck, some guy will send
  470. some  money - I'll better keep my bucks, who says that Olsen will even
  471. answer  my  letter?'.   Without  your support  there  may be no future
  472. revisions of Zoom!
  473.    A  registered  user will receive the next two major program updates
  474. free of charge.
  475.    If  an  error  shows  up,  do not hesitate to contact me as soon as
  476. possible.  My `real world' adress is given above, the following are my
  477. EMail addresses:
  478.  
  479.                       Z-Net: O.BARTHEL@A-Link-H
  480.               Fido: Olaf Barthel @ 2:240/1 (New adress!)
  481.  
  482.    The  entire  Zoom!   package  may be noncommercially redistributed,
  483. provided  that the package is always distributed in its complete form.
  484. A  small  copy  fee for media costs is okay but any kind of commercial
  485. distribution is strictly forbidden!
  486.    Comments  and suggestions how to improve this program are generally
  487. appreciated!
  488.  
  489. ============ Revision history (most recent change first) =============
  490. ======================================================================
  491. V4.1    There  was  a  small bug in the disk bitmap reader which could
  492.         corrupt single blocks.  This has been fixed (hope so!)
  493.  
  494. V4.0    Added  the  wrap checksums, the startup link virus check, made
  495.         some   changes  to  requesters  and  user  interface  (nothing
  496.         spectacular,   though).    Recompiled  and  linked  using  new
  497.         amiga.lib. Also created a  new  CRC  tool.  This  is  a  POST-
  498.         DISASTER release.
  499.  
  500. V3.10   Changed  the  minimum sequence length LhEncode uses to 2 bytes
  501.         which  will  cause  Zoom!   to emit even smaller output files.
  502.         Thanks  to Holger's brilliant LhDecode routine the file format
  503.         is still compatible with the previous  releases.  If  encoding
  504.         was cancelled a  previously  allocated  text  buffer  was  not
  505.         released (this has been fixed).
  506.  
  507. V3.9    The  previous  release  had problems if ENV:  was not assigned
  508.         (sorry  to  all those who nearly got mad at this - don't blame
  509.         me, blame Manx!).
  510.            The disk drives to support this feature will eject the disk
  511.         after encoding/decoding (such as the  Applied  Engineering  HD
  512.         disk drive).
  513.            A  text file to be encoded along with a disk is read before
  514.         the actual disk encoding takes place.
  515.            If  started  from Workbench Zoom saves icon images with the
  516.         files it creates.
  517.            If  a  disk is accidentally removed while encoding/decoding
  518.         Zoom!   will  no longer refuse to continue work after the disk
  519.         has been reinserted.
  520.            The   older   release  would  clear  the  contents  of  the
  521.         `ZOOMOPTS' variable after running Zoom!  from Shell.
  522.            Zoom!   and ZoomCheck have been recompiled with our (Oliver
  523.         Paesler's  and  my)  new  SAS/C compiler (sorry Manx, I really
  524.         could't  take  it  any  more!).   Some  real  voodoo magic was
  525.         involved in creating a truly reentrant Arp wrapper package for
  526.         the  darn  startup  code,  but,  alas I am not a perfect SAS/C
  527.         priest  yet:   starting  the  Zoom!   Intuition interface from
  528.         Shell  will  cause  the program to modify its own data hunk (I
  529.         have  checked  any  location  but  couldn't  discover where it
  530.         actually  happens).  This nuisance does not occur if Zoom!  is
  531.         started from Shell using the Shell interface only.  Both Zoom!
  532.         and ZoomCheck support multiple icon selection.
  533.            ZoomCheck  will  read  notes  from  a file.  I reworked the
  534.         compression code a bit.
  535.            The documentation was rearranged and partly rewritten  (the
  536.         original  file  was  as  close  to  a  long-run-midnight-near-
  537.         delirium-hack as it could possibly be).
  538.            I   forgot   to  describe  the  format  of  the  `ZOOMOPTS'
  539.         environment  variable.   The  power LED will no longer flicker
  540.         during    encoding/decoding    (another   `benefit'   of   the
  541.         Manx<->SAS/C conversion).
  542.            My  old  UUCP/SubNet addresses have ceased to exist, I will
  543.         try  to supply an alternative gateway path if anybody needs it
  544.         (use Fido or standard snail instead).
  545.         
  546. V3.7    This  is  a  kludge  solution:  I  use  rstart.o to create the
  547.         resident  part  of  Zoom!   and ZoomCheck:  both programs will
  548.         only  be  reentrant if used in conjunction with the Arp shell.
  549.         This  release  includes  a data precompressor which provides a
  550.         welcome  speedup  for  large  rows  of  equal bytes.  The data
  551.         format is no longer compatible with previous Zoom!  releases.
  552.  
  553. V2.6    Both  Zoom and ZoomCheck have become reentrant (don't say that
  554.         you didn't think it was possible with Aztec `C' 5.0!).
  555.  
  556. V2.3    Added  new Shell  options, fixed a couple of bugs and added an
  557.         option  to protect files by passwords.  The settings displayed
  558.         in  the Intuition interface are saved in environment variables
  559.         (both Manx standard and AmigaDOS 1.3 environment variables are
  560.         supported).   Restarting  Zoom  will  cause  it to restore the
  561.         previously  saved  settings.   Note  that  only  the Intuition
  562.         interface will read these defaults, the Shell interface always
  563.         uses the default settings.  The disk drive motor is turned off
  564.         while  data  is encoded/decoded/written (TrackSalve used to do
  565.         this job under Kick1.3, but wouldn't do under Kick2.x!).
  566.  
  567. V2.2    Added  a  couple  of  new  options  to  Zoom!, such as a small
  568.         ZoomCheck.    Texts   and   notes  are  displayed  after/while
  569.         decompression  and  also  appear  in  the  Shell  window.  The
  570.         ZoomNote functions have moved into ZoomCheck.
  571.  
  572. V2.1    Added  back  the  dreaded  command line interface.  Also added
  573.         wildcard support for decompression (intuition interface only).
  574.         There's a new support file:  ZoomNote.
  575.  
  576. V2.0    Better   FFS  support,  Zoom!   has  become  faster  and  more
  577.         efficient.   This  release is incompatible with previous Zoom!
  578.         releases.
  579.  
  580. V1.1    New  user  interface!   Thanks to Holger, Ralf & Michael a few
  581.         bugs  were traced (and fixed?). Added write verification and a
  582.         few more gimmicks.  The docs were partly rewritten, as was the
  583.         program.
  584.  
  585. V1.0    First semi-public release.
  586.  
  587.                                   *
  588.  
  589.              Do only its possibilities make it an Amiga?
  590.  
  591.                         WHERE IS THE MAGIC ???
  592.